library(plotly)
library(e1071)
source(file = "cleaning.R")
Rows: 128992 Columns: 18── Column specification ────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (12): Quarter, QuarterQF, HB, HBQF, Location, LocationQF, AdmissionType, AdmissionTypeQF, Sex, A...
dbl  (6): Episodes, LengthOfEpisode, AverageLengthOfEpisode, Stays, LengthOfStay, AverageLengthOfStay
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.Rows: 40711 Columns: 18── Column specification ────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (11): Quarter, QuarterQF, HB, HBQF, Location, LocationQF, AdmissionType, AdmissionTypeQF, SIMDQF...
dbl  (7): SIMD, Episodes, LengthOfEpisode, AverageLengthOfEpisode, Stays, LengthOfStay, AverageLengt...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.Rows: 5 Columns: 8── Column specification ────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (1): Country
dbl (7): Date, SIMDQuintile, TotalPositive, CrudeRatePositive, FirstInfections, Reinfections, Percen...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.
inputs <- list(
  admission_input = "Emergency Inpatients",
  sex_input = "Male",
  age_input = "40-49 years",
  simd_input = 5,
  age_sex = "age",
  lockdown_input = "post"
  
  
)

bot_simd_clean %>% 
  filter(admission_type == inputs$admission_input) %>% 
  group_by(simd) %>% 
  summarise(total_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = simd,
      y = total_episodes,
      fill = as.factor(simd)) +
  geom_col() +
  theme_minimal()+
  labs(
    x = "SIMD Level",
    y = "Total Episodes"
  ) +
  theme(
    legend.position = "none"
  )

bot_sex_clean %>% 
  group_by(age,
           sex) %>% 
  summarise(total_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = age,
      y = total_episodes,
      fill = sex) +
  geom_col(position = "dodge") +
  theme_minimal()+
  labs(
    x = "\nAge Ranges",
    y = "Total Episodes\n"
  ) +
  theme(
    legend.position = "none",
    axis.text.x = element_text(angle = 315,
                               vjust = 0.2,
                               hjust = 0.5)
  )
`summarise()` has grouped output by 'age'. You can override using the `.groups` argument.

bot_sex_clean %>% 
  filter(age == inputs$age_input,
         admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients")) %>% 
  group_by(age, admission_type) %>% 
  summarise(tot_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = age,
      y = tot_episodes,
      fill = admission_type) +
  geom_col(position = "dodge")
`summarise()` has grouped output by 'age'. You can override using the `.groups` argument.

simd_stack <- ggplotly(bot_simd_clean %>% 
  drop_na(simd) %>% 
  filter(admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients"),
         lockdown == inputs$lockdown_input) %>% 
  group_by(simd, admission_type) %>% 
  summarise(total_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = simd,
      y = total_episodes,
      fill = admission_type) +
  geom_col(position = "stack")+
  theme_minimal(
  ) +
  labs(
    x = "\nSIMD Ranking",
    y = "Total Episodes\n",
    fill = "Admission Type"
  ))
`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.
bot_sex_clean %>% 
  group_by(sex, quarter) %>% 
  summarise(mean_episodes = mean(episodes)) %>% 
  ggplot() +
  aes(x = quarter,
      y = mean_episodes,
      group = sex,
      colour = sex) +
  geom_line() +
  theme(
    axis.text.x = element_text(angle = 315,
                               vjust = 0.2,
                               hjust = 0.5)
  
    )
`summarise()` has grouped output by 'sex'. You can override using the `.groups` argument.

NA
NA
bot_simd_clean %>% 
  drop_na(simd) %>% 
  filter(admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients")) %>% 
  group_by(simd, admission_type) %>% 
  summarise(mean_episodes = mean(episodes)) %>% 
  ggplot()+
  aes(x = simd,
      y = mean_episodes,
      fill = admission_type) +
  geom_col(position = "stack")
`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.

bot_simd_clean %>% 
  drop_na(simd) %>% 
  filter(admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients")) %>% 
  group_by(simd, admission_type) %>% 
  summarise(mean_episodes = sum(episodes))
`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.
ggplotly(covid_simd %>% 

  ggplot() +
    aes(
      x = simd_quintile,
      y = first_infections,
      fill = as.factor(simd_quintile),
      text = first_infections
    ) +
    geom_col()
)
ggplotly(covid_simd %>% 

  ggplot() +
    aes(
      x = simd_quintile,
      y = reinfections,
      text = reinfections
    ) +
    geom_col(fill = "blue") +
    theme_minimal(),
  tooltip = "text"
)
bot_sex_clean %>% 
  filter(age == "0-9 years") %>% 
  group_by(sex) 

LS0tCnRpdGxlOiAiRXVhbiBBbmFseXNpcyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpgYGB7cn0KbGlicmFyeShwbG90bHkpCmxpYnJhcnkoZTEwNzEpCmBgYAoKCmBgYHtyfQpzb3VyY2UoZmlsZSA9ICJjbGVhbmluZy5SIikKYGBgCgoKCmBgYHtyfQppbnB1dHMgPC0gbGlzdCgKICBhZG1pc3Npb25faW5wdXQgPSAiRW1lcmdlbmN5IElucGF0aWVudHMiLAogIHNleF9pbnB1dCA9ICJNYWxlIiwKICBhZ2VfaW5wdXQgPSAiNDAtNDkgeWVhcnMiLAogIHNpbWRfaW5wdXQgPSA1LAogIGFnZV9zZXggPSAiYWdlIiwKICBsb2NrZG93bl9pbnB1dCA9ICJwb3N0IgogIAogIAopCmBgYAoKCgoKCmBgYHtyfQoKYm90X3NpbWRfY2xlYW4gJT4lIAogIGZpbHRlcihhZG1pc3Npb25fdHlwZSA9PSBpbnB1dHMkYWRtaXNzaW9uX2lucHV0KSAlPiUgCiAgZ3JvdXBfYnkoc2ltZCkgJT4lIAogIHN1bW1hcmlzZSh0b3RhbF9lcGlzb2RlcyA9IHN1bShlcGlzb2RlcykpICU+JSAKICBnZ3Bsb3QoKSsKICBhZXMoeCA9IHNpbWQsCiAgICAgIHkgPSB0b3RhbF9lcGlzb2RlcywKICAgICAgZmlsbCA9IGFzLmZhY3RvcihzaW1kKSkgKwogIGdlb21fY29sKCkgKwogIHRoZW1lX21pbmltYWwoKSsKICBsYWJzKAogICAgeCA9ICJTSU1EIExldmVsIiwKICAgIHkgPSAiVG90YWwgRXBpc29kZXMiCiAgKSArCiAgdGhlbWUoCiAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIKICApCmBgYAoKYGBge3J9CmJvdF9zZXhfY2xlYW4gJT4lIAogIGdyb3VwX2J5KGFnZSwKICAgICAgICAgICBzZXgpICU+JSAKICBzdW1tYXJpc2UodG90YWxfZXBpc29kZXMgPSBzdW0oZXBpc29kZXMpKSAlPiUgCiAgZ2dwbG90KCkrCiAgYWVzKHggPSBhZ2UsCiAgICAgIHkgPSB0b3RhbF9lcGlzb2RlcywKICAgICAgZmlsbCA9IHNleCkgKwogIGdlb21fY29sKHBvc2l0aW9uID0gImRvZGdlIikgKwogIHRoZW1lX21pbmltYWwoKSsKICBsYWJzKAogICAgeCA9ICJcbkFnZSBSYW5nZXMiLAogICAgeSA9ICJUb3RhbCBFcGlzb2Rlc1xuIgogICkgKwogIHRoZW1lKAogICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiLAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAzMTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2anVzdCA9IDAuMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhqdXN0ID0gMC41KQogICkKCgpgYGAKCgpgYGB7cn0KYm90X3NleF9jbGVhbiAlPiUgCiAgZmlsdGVyKGFnZSA9PSBpbnB1dHMkYWdlX2lucHV0LAogICAgICAgICBhZG1pc3Npb25fdHlwZSAlaW4lIGMoIkVsZWN0aXZlIElucGF0aWVudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVtZXJnZW5jeSBJbnBhdGllbnRzIikpICU+JSAKICBncm91cF9ieShhZ2UsIGFkbWlzc2lvbl90eXBlKSAlPiUgCiAgc3VtbWFyaXNlKHRvdF9lcGlzb2RlcyA9IHN1bShlcGlzb2RlcykpICU+JSAKICBnZ3Bsb3QoKSsKICBhZXMoeCA9IGFnZSwKICAgICAgeSA9IHRvdF9lcGlzb2RlcywKICAgICAgZmlsbCA9IGFkbWlzc2lvbl90eXBlKSArCiAgZ2VvbV9jb2wocG9zaXRpb24gPSAiZG9kZ2UiKQpgYGAKCgoKYGBge3J9CnNpbWRfc3RhY2sgPC0gZ2dwbG90bHkoYm90X3NpbWRfY2xlYW4gJT4lIAogIGRyb3BfbmEoc2ltZCkgJT4lIAogIGZpbHRlcihhZG1pc3Npb25fdHlwZSAlaW4lIGMoIkVsZWN0aXZlIElucGF0aWVudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVtZXJnZW5jeSBJbnBhdGllbnRzIiksCiAgICAgICAgIGxvY2tkb3duID09IGlucHV0cyRsb2NrZG93bl9pbnB1dCkgJT4lIAogIGdyb3VwX2J5KHNpbWQsIGFkbWlzc2lvbl90eXBlKSAlPiUgCiAgc3VtbWFyaXNlKHRvdGFsX2VwaXNvZGVzID0gc3VtKGVwaXNvZGVzKSkgJT4lIAogIGdncGxvdCgpKwogIGFlcyh4ID0gc2ltZCwKICAgICAgeSA9IHRvdGFsX2VwaXNvZGVzLAogICAgICBmaWxsID0gYWRtaXNzaW9uX3R5cGUpICsKICBnZW9tX2NvbChwb3NpdGlvbiA9ICJzdGFjayIpKwogIHRoZW1lX21pbmltYWwoCiAgKSArCiAgbGFicygKICAgIHggPSAiXG5TSU1EIFJhbmtpbmciLAogICAgeSA9ICJUb3RhbCBFcGlzb2Rlc1xuIiwKICAgIGZpbGwgPSAiQWRtaXNzaW9uIFR5cGUiCiAgKSkKYGBgCgpgYGB7cn0KYm90X3NleF9jbGVhbiAlPiUgCiAgZ3JvdXBfYnkoc2V4LCBxdWFydGVyKSAlPiUgCiAgc3VtbWFyaXNlKG1lYW5fZXBpc29kZXMgPSBtZWFuKGVwaXNvZGVzKSkgJT4lIAogIGdncGxvdCgpICsKICBhZXMoeCA9IHF1YXJ0ZXIsCiAgICAgIHkgPSBtZWFuX2VwaXNvZGVzLAogICAgICBncm91cCA9IHNleCwKICAgICAgY29sb3VyID0gc2V4KSArCiAgZ2VvbV9saW5lKCkgKwogIHRoZW1lKAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAzMTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2anVzdCA9IDAuMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhqdXN0ID0gMC41KQogIAogICAgKQogIAogIApgYGAgCgpgYGB7cn0KYm90X3NpbWRfY2xlYW4gJT4lIAogIGRyb3BfbmEoc2ltZCkgJT4lIAogIGZpbHRlcihhZG1pc3Npb25fdHlwZSAlaW4lIGMoIkVsZWN0aXZlIElucGF0aWVudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVtZXJnZW5jeSBJbnBhdGllbnRzIikpICU+JSAKICBncm91cF9ieShzaW1kLCBhZG1pc3Npb25fdHlwZSkgJT4lIAogIHN1bW1hcmlzZShtZWFuX2VwaXNvZGVzID0gbWVhbihlcGlzb2RlcykpICU+JSAKICBnZ3Bsb3QoKSsKICBhZXMoeCA9IHNpbWQsCiAgICAgIHkgPSBtZWFuX2VwaXNvZGVzLAogICAgICBmaWxsID0gYWRtaXNzaW9uX3R5cGUpICsKICBnZW9tX2NvbChwb3NpdGlvbiA9ICJzdGFjayIpCmBgYAoKCmBgYHtyfQpib3Rfc2ltZF9jbGVhbiAlPiUgCiAgZHJvcF9uYShzaW1kKSAlPiUgCiAgZmlsdGVyKGFkbWlzc2lvbl90eXBlICVpbiUgYygiRWxlY3RpdmUgSW5wYXRpZW50cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW1lcmdlbmN5IElucGF0aWVudHMiKSkgJT4lIAogIGdyb3VwX2J5KHNpbWQsIGFkbWlzc2lvbl90eXBlKSAlPiUgCiAgc3VtbWFyaXNlKG1lYW5fZXBpc29kZXMgPSBzdW0oZXBpc29kZXMpKQpgYGAKCgpgYGB7cn0KZ2dwbG90bHkoY292aWRfc2ltZCAlPiUgCgogIGdncGxvdCgpICsKICAgIGFlcygKICAgICAgeCA9IHNpbWRfcXVpbnRpbGUsCiAgICAgIHkgPSBmaXJzdF9pbmZlY3Rpb25zLAogICAgICBmaWxsID0gYXMuZmFjdG9yKHNpbWRfcXVpbnRpbGUpLAogICAgICB0ZXh0ID0gZmlyc3RfaW5mZWN0aW9ucwogICAgKSArCiAgICBnZW9tX2NvbCgpCikKYGBgCgoKCmBgYHtyfQpnZ3Bsb3RseShjb3ZpZF9zaW1kICU+JSAKCiAgZ2dwbG90KCkgKwogICAgYWVzKAogICAgICB4ID0gc2ltZF9xdWludGlsZSwKICAgICAgeSA9IHJlaW5mZWN0aW9ucywKICAgICAgdGV4dCA9IHJlaW5mZWN0aW9ucwogICAgKSArCiAgICBnZW9tX2NvbChmaWxsID0gImJsdWUiKSArCiAgICB0aGVtZV9taW5pbWFsKCksCiAgdG9vbHRpcCA9ICJ0ZXh0IgopCmBgYAoKCmBgYHtyfQpib3Rfc2V4X2NsZWFuICU+JSAKICBmaWx0ZXIoYWdlID09ICIwLTkgeWVhcnMiKSAlPiUgCiAgZ3JvdXBfYnkoc2V4KSAKYGBgCgoKCgpgYGB7cn0KYm90X3NleF9jbGVhbiAlPiUKICBtdXRhdGUoYWdlID0gY2FzZV93aGVuKAogICAgYWdlID09ICIwLTkgeWVhcnMiIH4gIjQuNSIsCiAgICBhZ2UgPT0gIjEwLTE5IHllYXJzIiB+ICIxNC41IiwKICAgIGFnZSA9PSAiMjAtMjkgeWVhcnMiIH4gIjI0LjUiLAogICAgYWdlID09ICIzMC0zOSB5ZWFycyIgfiAiMzQuNSIsCiAgICBhZ2UgPT0gIjQwLTQ5IHllYXJzIiB+ICI0NC41IiwKICAgIGFnZSA9PSAiNTAtNTkgeWVhcnMiIH4gIjU0LjUiLAogICAgYWdlID09ICI2MC02OSB5ZWFycyIgfiAiNjQuNSIsCiAgICBhZ2UgPT0gIjcwLTc5IHllYXJzIiB+ICI3NC41IiwKICAgIGFnZSA9PSAiODAtODkgeWVhcnMiIH4gIjg0LjUiLAogICAgYWdlID09ICI5MCB5ZWFycyBhbmQgb3ZlciIgfiAiOTQuNSIKICApKSAlPiUgCiAgbXV0YXRlKGFnZSA9IGFzLm51bWVyaWMoYWdlKSkgJT4lCiAgZ3JvdXBfYnkoYWdlKSAlPiUgCiAgc3VtbWFyaXNlKHRvdGFsX2VwcyA9IHN1bShlcGlzb2RlcykpICU+JSAKICBnZ3Bsb3QoKSArCiAgYWVzKHggPSBhZ2UsCiAgICAgIHkgPSB0b3RhbF9lcHMpICsKICBnZW9tX2NvbCgpICsKICBnZW9tX3Ntb290aChtZXRob2QgPSAibG9lc3MiLAogICAgICAgICAgICAgIHNlID0gVFJVRSwKICAgICAgICAgICAgICBjb2xvdXIgPSAicmVkIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCgoKYGBge3J9CmJvdF9zZXhfY2xlYW4gJT4lCiAgbXV0YXRlKGFnZSA9IGNhc2Vfd2hlbigKICAgIGFnZSA9PSAiMC05IHllYXJzIiB+ICI0LjUiLAogICAgYWdlID09ICIxMC0xOSB5ZWFycyIgfiAiMTQuNSIsCiAgICBhZ2UgPT0gIjIwLTI5IHllYXJzIiB+ICIyNC41IiwKICAgIGFnZSA9PSAiMzAtMzkgeWVhcnMiIH4gIjM0LjUiLAogICAgYWdlID09ICI0MC00OSB5ZWFycyIgfiAiNDQuNSIsCiAgICBhZ2UgPT0gIjUwLTU5IHllYXJzIiB+ICI1NC41IiwKICAgIGFnZSA9PSAiNjAtNjkgeWVhcnMiIH4gIjY0LjUiLAogICAgYWdlID09ICI3MC03OSB5ZWFycyIgfiAiNzQuNSIsCiAgICBhZ2UgPT0gIjgwLTg5IHllYXJzIiB+ICI4NC41IiwKICAgIGFnZSA9PSAiOTAgeWVhcnMgYW5kIG92ZXIiIH4gIjk0LjUiCiAgKSkgJT4lIAogIG11dGF0ZShhZ2UgPSBhcy5udW1lcmljKGFnZSkpICU+JQogIGdyb3VwX2J5KGFnZSkgJT4lIAogIHN1bW1hcmlzZSh0b3RhbF9lcHMgPSBzdW0oZXBpc29kZXMpKSAlPiUgCiAgbXV0YXRlKGNvdW50ID0gdG90YWxfZXBzKSAlPiUgCiAgc2VsZWN0KC10b3RhbF9lcHMpICU+JSAKICBzdW1tYXJpc2Uoc2tld25lc3MgPSBza2V3bmVzcyhjb3VudCkpCmBgYAoKCgo=